lexer grammar XMLLexer;

options {
  language = Java;
}

@header  {
package PL.prac9;
}

BIBLIOTECA: '<biblioteca>';
LIBRO: '<libro>';
TITULO: '<titulo>';
AUTOR: '<autor>';
EDITORIAL: '<editorial>';
END_BIBLIOTECA: '</biblioteca>';
END_LIBRO: '</libro>';
END_TITULO: '</titulo>';
END_AUTOR: '</autor>';
END_EDITORIAL: '</editorial>';

BLANCO : (' '|'\t'|'\r\n') {$channel=HIDDEN;};
fragment DIGITO : '0'..'9';
fragment LETRA : ('A'..'Z')|('a'..'z')|('.');
NUMERO : (DIGITO)+;
PALABRA : (LETRA)+;

BARRA: '/';
MAYOR : '>';
MENOR : '<';
IGUAL : '=';

fragment COMILLAS : '"';
CADENA: COMILLAS PALABRA+ COMILLAS;

fragment EXCLAMACION : '!';
fragment GUIONES : '--';
COMENTARIO :MENOR EXCLAMACION GUIONES .* GUIONES MAYOR {$channel=HIDDEN;};
